Smart gateway devices, systems and methods for providing communication between hvac system networks

ABSTRACT

A smart gateway device for a first network associated with a building management system (BMS) is configured to discover a physical device and generate a new virtual device responsive to a determination that a device identifier of the physical device does not match any device identifiers in a virtual device registry. The virtual device registry provides mapping between the new virtual device and the physical device. One or more data points of the new virtual device correspond to one or more data points of the physical device. The smart gateway device is configured to receive data values for the one or more data points of the physical device and update the one or more data points of the new virtual device with the data values for the one or more data points of the physical device. The virtual device is configured to represent the physical device on the first network.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/365,124, filed Jul. 1, 2021, which is a continuation of U.S. patentapplication Ser. No. 16/531,249, filed Aug. 5, 2019, and granted as U.S.Pat. No. 11,057,244 Jul. 6, 2021, which is a continuation of U.S. patentapplication Ser. No. 15/261,843, filed Sep. 9, 2016, and granted as U.S.Pat. No. 10,419,243 Sep. 17, 2019. The entire disclosures of each ofthese patent applications and patent are incorporated by referenceherein.

BACKGROUND

The present disclosure relates generally to building management systems.The present disclosure relates more particularly to systems and methodsfor presenting data, and changes to data, associated with a buildingmanagement systems (BMS).

A building management system (BMS) is, in general, a system of devicesconfigured to control, monitor, and manage equipment in or around abuilding or building area. A BMS can include a heating, ventilation, andair conditioning (HVAC) system, a security system, a lighting system, afire alerting system, another system that is capable of managingbuilding functions or devices, or any combination thereof. BMS devicesmay be installed in any environment (e.g., an indoor area or an outdoorarea) and the environment may include any number of buildings, spaces,zones, rooms, or areas. A BMS may include a variety of devices (e.g.,HVAC devices, controllers, chillers, fans, sensors, etc.) configured tofacilitate monitoring and controlling the building space. Throughoutthis disclosure, such devices are referred to as BMS devices or buildingequipment.

Currently, many building management systems provide control of an entirefacility, building, or other environment. In some instances, portions ofthe BMS may not easily interface with the BMS. For example, where someof the BMS devices are provided by third-parties, the third partydevices may communicate via proprietary communication protocols, whichmay be incompatible with the general BMS system. In some instances, thisinability to communicate with the BMS using a communication protocolused by the BMS can increase time to commission, maintain, or monitor.For example, a technician may be required to “plug in” to the thirdparty communication network to access devices on the third partynetwork. In some instances, this can require expensive software and/orhardware to interface with the third party communication network.

Furthermore, in modern BMS systems a large number of devices and datapoints are required. In instances where devices or sub-systems withinthe BMS use a third-party communication network that is not compatiblewith the BMS network, these devices and data points may requireadditional software to be monitored and controlled within the BMS. Insome examples, users may develop costly and/or complex softwareinterface to communicate with the third party communication network. Insome examples, the third party may provide for interface devices forcommunicating with the BMS network. However, these devices often providelimited functionality and may require detailed and time-consuming set upto properly function with the BMS. Thus, systems and methods forproviding an easy interface between a BMS network and a non-BMS networkis desirous.

SUMMARY

One implementation of the present disclosure is smart gateway device forproviding communications between multiple networks associated with abuilding management system (BMS). The device includes a first networkinterface circuit in communication with a first network associated witha BMS. The device further includes a second network interface circuit incommunication with a second network associated with a subsystem of theBMS, wherein the second network is not compatible with the firstnetwork. The second network interface circuit is configured to detect aphysical device associated with the second network, and to receive adata packet associated with the physical device. The data packet istransmitted to the first network interface circuit. The first networkinterface circuit is configured to receive the data packet and togenerate a virtual device based on the received data packet. The virtualdevice is configured to represent the physical device on the firstnetwork.

A further implementation of the present disclosure is a method forintegrating devices on a standalone network into a building managementsystem (BMS) network using a gateway device. The method includesdiscovering a physical device on the standalone network using a firstintegration circuit of the gateway device. The first integration circuitis in communication with the standalone network. The method furtherincludes generating a virtual device using the first integrationcircuit. The virtual device includes a data structure associated withthe physical device. The method additionally includes polling thediscovered device using the first integration circuit to obtain datavalues associated with one or more data points of the physical device.The method also includes updating the data structure with the obtaineddata values, and exposing the virtual device to the BMS network usingthe second network interface circuit.

A further implementation of the present disclosure is a buildingmanagement system. The system includes a first network comprising one ormore devices associated with the first network, and a second networkcomprising one or more devices associated with the second network. Thesystem further includes a gateway device. The gateway device configuredto provide an interface between the first network and the second networksuch that the devices associated with the second network can be incommunication with the first network.

Those skilled in the art will appreciate that the summary isillustrative only and is not intended to be in any way limiting. Otheraspects, inventive features, and advantages of the devices and/orprocesses described herein, as defined solely by the claims, will becomeapparent in the detailed description set forth herein and taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing of a building equipped with a building managementsystem (BMS) and a HVAC system, according to some embodiments.

FIG. 2 is a schematic of a waterside system which can be used as part ofthe HVAC system of FIG. 1 , according to some embodiments.

FIG. 3 is a block diagram of an airside system which can be used as partof the HVAC system of FIG. 1 , according to some embodiments.

FIG. 4 is a block diagram of a BMS which can be used in the building ofFIG. 1 , according to some embodiments.

FIG. 5 is a system view illustrating a building management system incommunication with a non-BMS subsystem via a smart gateway, according tosome embodiments.

FIG. 6 is a schematic view illustrating a smart gateway device of FIG. 5, according to some embodiments.

FIG. 7 is an interface diagram illustrating the interaction between thegateway executable module and the virtual network simulation module ofFIG. 6 , according to some embodiments.

FIG. 8 is a detailed view of a virtual device, according to someembodiments.

FIG. 9 is a flow chart illustrating a process for interfacing with anon-BMS network using a smart gateway device, according to someembodiments.

FIG. 10 is a flow chart illustrating a process for generating one ormore virtual devices, according to some embodiments.

FIG. 11 is a flow chart illustrating an interface process between anexternal network interface circuit and a virtual network manager,according to some embodiments.

FIG. 12 is a flow chart illustrating a process for exposing virtualdevices to a BMS network, according to some embodiments.

FIG. 13 is a screenshot illustrating an exemplary dashboard of abuilding automation system, according to some embodiments.

DETAILED DESCRIPTION Building Management System and HVAC System

Referring now to FIGS. 1-4 , an exemplary building management system(BMS) and HVAC system in which the systems and methods of the presentdisclosure can be implemented are shown, according to an exemplaryembodiment. Referring particularly to FIG. 1 , a perspective view of abuilding 10 is shown. Building 10 is served by a BMS. A BMS is, ingeneral, a system of devices configured to control, monitor, and manageequipment in or around a building or building area. A BMS can include,for example, a HVAC system, a security system, a lighting system, a firealerting system, any other system that is capable of managing buildingfunctions or devices, or any combination thereof.

The BMS that serves building 10 includes an HVAC system 100. HVAC system100 can include a plurality of HVAC devices (e.g., heaters, chillers,air handling units, pumps, fans, thermal energy storage, etc.)configured to provide heating, cooling, ventilation, or other servicesfor building 10. For example, HVAC system 100 is shown to include awaterside system 120 and an airside system 130. Waterside system 120 canprovide a heated or chilled fluid to an air handling unit of airsidesystem 130. Airside system 130 can use the heated or chilled fluid toheat or cool an airflow provided to building 10. An exemplary watersidesystem and airside system which can be used in HVAC system 100 aredescribed in greater detail with reference to FIGS. 2-3 .

HVAC system 100 is shown to include a chiller 102, a boiler 104, and arooftop air handling unit (AHU) 106. Waterside system 120 can use boiler104 and chiller 102 to heat or cool a working fluid (e.g., water,glycol, etc.) and can circulate the working fluid to AHU 106. In variousembodiments, the HVAC devices of waterside system 120 can be located inor around building 10 (as shown in FIG. 1 ) or at an offsite locationsuch as a central plant (e.g., a chiller plant, a steam plant, a heatplant, etc.). The working fluid can be heated in boiler 104 or cooled inchiller 102, depending on whether heating or cooling is required inbuilding 10. Boiler 104 can add heat to the circulated fluid, forexample, by burning a combustible material (e.g., natural gas) or usingan electric heating element. Chiller 102 can place the circulated fluidin a heat exchange relationship with another fluid (e.g., a refrigerant)in a heat exchanger (e.g., an evaporator) to absorb heat from thecirculated fluid. The working fluid from chiller 102 and/or boiler 104can be transported to AHU 106 via piping 108.

AHU 106 can place the working fluid in a heat exchange relationship withan airflow passing through AHU 106 (e.g., via one or more stages ofcooling coils and/or heating coils). The airflow can be, for example,outside air, return air from within building 10, or a combination ofboth. AHU 106 can transfer heat between the airflow and the workingfluid to provide heating or cooling for the airflow. For example, AHU106 can include one or more fans or blowers configured to pass theairflow over or through a heat exchanger containing the working fluid.The working fluid can then return to chiller 102 or boiler 104 viapiping 110.

Airside system 130 can deliver the airflow supplied by AHU 106 (i.e.,the supply airflow) to building 10 via air supply ducts 112 and canprovide return air from building 10 to AHU 106 via air return ducts 114.In some embodiments, airside system 130 includes multiple variable airvolume (VAV) units 116. For example, airside system 130 is shown toinclude a separate VAV unit 116 on each floor or zone of building 10.VAV units 116 can include dampers or other flow control elements thatcan be operated to control an amount of the supply airflow provided toindividual zones of building 10. In other embodiments, airside system130 delivers the supply airflow into one or more zones of building 10(e.g., via supply ducts 112) without using intermediate VAV units 116 orother flow control elements. AHU 106 can include various sensors (e.g.,temperature sensors, pressure sensors, etc.) configured to measureattributes of the supply airflow. AHU 106 can receive input from sensorslocated within AHU 106 and/or within the building zone and can adjustthe flow rate, temperature, or other attributes of the supply airflowthrough AHU 106 to achieve set-point conditions for the building zone.

Referring now to FIG. 2 , a block diagram of a waterside system 200 isshown, according to an exemplary embodiment. In various embodiments,waterside system 200 can supplement or replace waterside system 120 inHVAC system 100 or can be implemented separate from HVAC system 100.When implemented in HVAC system 100, waterside system 200 can include asubset of the HVAC devices in HVAC system 100 (e.g., boiler 104, chiller102, pumps, valves, etc.) and can operate to supply a heated or chilledfluid to AHU 106. The HVAC devices of waterside system 200 can belocated within building 10 (e.g., as components of waterside system 120)or at an offsite location such as a central plant.

In FIG. 2 , waterside system 200 is shown as a central plant having aplurality of subplants 202-212. Subplants 202-212 are shown to include aheater subplant 202, a heat recovery chiller subplant 204, a chillersubplant 206, a cooling tower subplant 208, a hot thermal energy storage(TES) subplant 210, and a cold thermal energy storage (TES) subplant212. Subplants 202-212 consume resources (e.g., water, natural gas,electricity, etc.) from utilities to serve the thermal energy loads(e.g., hot water, cold water, heating, cooling, etc.) of a building orcampus. For example, heater subplant 202 can be configured to heat waterin a hot water loop 214 that circulates the hot water between heatersubplant 202 and building 10. Chiller subplant 206 can be configured tochill water in a cold water loop 216 that circulates the cold waterbetween chiller subplant 206 building 10. Heat recovery chiller subplant204 can be configured to transfer heat from cold water loop 216 to hotwater loop 214 to provide additional heating for the hot water andadditional cooling for the cold water. Condenser water loop 218 canabsorb heat from the cold water in chiller subplant 206 and reject theabsorbed heat in cooling tower subplant 208 or transfer the absorbedheat to hot water loop 214. Hot TES subplant 210 and cold TES subplant212 can store hot and cold thermal energy, respectively, for subsequentuse.

Hot water loop 214 and cold water loop 216 can deliver the heated and/orchilled water to air handlers located on the rooftop of building 10(e.g., AHU 106) or to individual floors or zones of building 10 (e.g.,VAV units 116). The air handlers push air past heat exchangers (e.g.,heating coils or cooling coils) through which the water flows to provideheating or cooling for the air. The heated or cooled air can bedelivered to individual zones of building 10 to serve the thermal energyloads of building 10. The water then returns to subplants 202-212 toreceive further heating or cooling.

Although subplants 202-212 are shown and described as heating andcooling water for circulation to a building, it is understood that anyother type of working fluid (e.g., glycol, CO2, etc.) can be used inplace of or in addition to water to serve the thermal energy loads. Inother embodiments, subplants 202-212 can provide heating and/or coolingdirectly to the building or campus without requiring an intermediateheat transfer fluid. These and other variations to waterside system 200are within the teachings of the present invention.

Each of subplants 202-212 can include a variety of equipment configuredto facilitate the functions of the subplant. For example, heatersubplant 202 is shown to include a plurality of heating elements 220(e.g., boilers, electric heaters, etc.) configured to add heat to thehot water in hot water loop 214. Heater subplant 202 is also shown toinclude several pumps 222 and 224 configured to circulate the hot waterin hot water loop 214 and to control the flow rate of the hot waterthrough individual heating elements 220. Chiller subplant 206 is shownto include a plurality of chillers 232 configured to remove heat fromthe cold water in cold water loop 216. Chiller subplant 206 is alsoshown to include several pumps 234 and 236 configured to circulate thecold water in cold water loop 216 and to control the flow rate of thecold water through individual chillers 232.

Heat recovery chiller subplant 204 is shown to include a plurality ofheat recovery heat exchangers 226 (e.g., refrigeration circuits)configured to transfer heat from cold water loop 216 to hot water loop214. Heat recovery chiller subplant 204 is also shown to include severalpumps 228 and 230 configured to circulate the hot water and/or coldwater through heat recovery heat exchangers 226 and to control the flowrate of the water through individual heat recovery heat exchangers 226.Cooling tower subplant 208 is shown to include a plurality of coolingtowers 238 configured to remove heat from the condenser water incondenser water loop 218. Cooling tower subplant 208 is also shown toinclude several pumps 240 configured to circulate the condenser water incondenser water loop 218 and to control the flow rate of the condenserwater through individual cooling towers 238.

Hot TES subplant 210 is shown to include a hot TES tank 242 configuredto store the hot water for later use. Hot TES subplant 210 can alsoinclude one or more pumps or valves configured to control the flow rateof the hot water into or out of hot TES tank 242. Cold TES subplant 212is shown to include cold TES tanks 244 configured to store the coldwater for later use. Cold TES subplant 212 can also include one or morepumps or valves configured to control the flow rate of the cold waterinto or out of cold TES tanks 244.

In some embodiments, one or more of the pumps in waterside system 200(e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines inwaterside system 200 include an isolation valve associated therewith.Isolation valves can be integrated with the pumps or positioned upstreamor downstream of the pumps to control the fluid flows in watersidesystem 200. In various embodiments, waterside system 200 can includemore, fewer, or different types of devices and/or subplants based on theparticular configuration of waterside system 200 and the types of loadsserved by waterside system 200.

Referring now to FIG. 3 , a block diagram of an airside system 300 isshown, according to an exemplary embodiment. In various embodiments,airside system 300 can supplement or replace airside system 130 in HVACsystem 100 or can be implemented separate from HVAC system 100. Whenimplemented in HVAC system 100, airside system 300 can include a subsetof the HVAC devices in HVAC system 100 (e.g., AHU 106, VAV units 116,ducts 112-114, fans, dampers, etc.) and can be located in or aroundbuilding 10. Airside system 300 can operate to heat or cool an airflowprovided to building 10 using a heated or chilled fluid provided bywaterside system 200.

In FIG. 3 , airside system 300 is shown to include an economizer-typeair handling unit (AHU) 302. Economizer-type AHUs vary the amount ofoutside air and return air used by the air handling unit for heating orcooling. For example, AHU 302 can receive return air 304 from buildingzone 306 via return air duct 308 and can deliver supply air 310 tobuilding zone 306 via supply air duct 312. In some embodiments, AHU 302is a rooftop unit located on the roof of building 10 (e.g., AHU 106 asshown in FIG. 1 ) or otherwise positioned to receive both return air 304and outside air 314. AHU 302 can be configured to operate exhaust airdamper 316, mixing damper 318, and outside air damper 320 to control anamount of outside air 314 and return air 304 that combine to form supplyair 310. Any return air 304 that does not pass through mixing damper 318can be exhausted from AHU 302 through exhaust damper 316 as exhaust air322.

Each of dampers 316-320 can be operated by an actuator. For example,exhaust air damper 316 can be operated by actuator 324, mixing damper318 can be operated by actuator 326, and outside air damper 320 can beoperated by actuator 328. Actuators 324-328 can communicate with an AHUcontroller 330 via a communications link 332. Actuators 324-328 canreceive control signals from AHU controller 330 and can provide feedbacksignals to AHU controller 330. Feedback signals can include, forexample, an indication of a current actuator or damper position, anamount of torque or force exerted by the actuator, diagnosticinformation (e.g., results of diagnostic tests performed by actuators324-328), status information, commissioning information, configurationsettings, calibration data, and/or other types of information or datathat can be collected, stored, or used by actuators 324-328. AHUcontroller 330 can be an economizer controller configured to use one ormore control algorithms (e.g., state-based algorithms, extremum seekingcontrol (ESC) algorithms, proportional-integral (PI) control algorithms,proportional-integral-derivative (PID) control algorithms, modelpredictive control (MPC) algorithms, feedback control algorithms, etc.)to control actuators 324-328.

Still referring to FIG. 3 , AHU 302 is shown to include a cooling coil334, a heating coil 336, and a fan 338 positioned within supply air duct312. Fan 338 can be configured to force supply air 310 through coolingcoil 334 and/or heating coil 336 and provide supply air 310 to buildingzone 306. AHU controller 330 can communicate with fan 338 viacommunications link 340 to control a flow rate of supply air 310. Insome embodiments, AHU controller 330 controls an amount of heating orcooling applied to supply air 310 by modulating a speed of fan 338.

Cooling coil 334 can receive a chilled fluid from waterside system 200(e.g., from cold water loop 216) via piping 342 and can return thechilled fluid to waterside system 200 via piping 344. Valve 346 can bepositioned along piping 342 or piping 344 to control a flow rate of thechilled fluid through cooling coil 334. In some embodiments, coolingcoil 334 includes multiple stages of cooling coils that can beindependently activated and deactivated (e.g., by AHU controller 330, byBMS controller 366, etc.) to modulate an amount of cooling applied tosupply air 310.

Heating coil 336 can receive a heated fluid from waterside system 200(e.g., from hot water loop 214) via piping 348 and can return the heatedfluid to waterside system 200 via piping 350. Valve 352 can bepositioned along piping 348 or piping 350 to control a flow rate of theheated fluid through heating coil 336. In some embodiments, heating coil336 includes multiple stages of heating coils that can be independentlyactivated and deactivated (e.g., by AHU controller 330, by BMScontroller 366, etc.) to modulate an amount of heating applied to supplyair 310.

Each of valves 346 and 352 can be controlled by an actuator. Forexample, valve 346 can be controlled by actuator 354 and valve 352 canbe controlled by actuator 356. Actuators 354-356 can communicate withAHU controller 330 via communications links 358-360. Actuators 354-356can receive control signals from AHU controller 330 and can providefeedback signals to controller 330. In some embodiments, AHU controller330 receives a measurement of the supply air temperature from atemperature sensor 362 positioned in supply air duct 312 (e.g.,downstream of cooling coil 334 and/or heating coil 336). AHU controller330 can also receive a measurement of the temperature of building zone306 from a temperature sensor 364 located in building zone 306.

In some embodiments, AHU controller 330 operates valves 346 and 352 viaactuators 354-356 to modulate an amount of heating or cooling providedto supply air 310 (e.g., to achieve a set-point temperature for supplyair 310 or to maintain the temperature of supply air 310 within aset-point temperature range). The positions of valves 346 and 352 affectthe amount of heating or cooling provided to supply air 310 by coolingcoil 334 or heating coil 336 and may correlate with the amount of energyconsumed to achieve a desired supply air temperature. AHU controller 330can control the temperature of supply air 310 and/or building zone 306by activating or deactivating coils 334-336, adjusting a speed of fan338, or a combination of both.

Still referring to FIG. 3 , airside system 300 is shown to include abuilding management system (BMS) controller 366 and a client device 368.BMS controller 366 can include one or more computer systems (e.g.,servers, supervisory controllers, subsystem controllers, etc.) thatserve as system level controllers, application or data servers, headnodes, or master controllers for airside system 300, waterside system200, HVAC system 100, and/or other controllable systems that servebuilding 10. BMS controller 366 can communicate with multiple downstreambuilding systems or subsystems (e.g., HVAC system 100, a securitysystem, a lighting system, waterside system 200, etc.) via acommunications link 370 according to like or disparate protocols (e.g.,LON, BACnet, etc.). In various embodiments, AHU controller 330 and BMScontroller 366 can be separate (as shown in FIG. 3 ) or integrated. Inan integrated implementation, AHU controller 330 can be a softwaremodule configured for execution by a processor of BMS controller 366.

In some embodiments, AHU controller 330 receives information from BMScontroller 366 (e.g., commands, setpoints, operating boundaries, etc.)and provides information to BMS controller 366 (e.g., temperaturemeasurements, valve or actuator positions, operating statuses,diagnostics, etc.). For example, AHU controller 330 can provide BMScontroller 366 with temperature measurements from temperature sensors362-364, equipment on/off states, equipment operating capacities, and/orany other information that can be used by BMS controller 366 to monitoror control a variable state or condition within building zone 306.

Client device 368 can include one or more human-machine interfaces orclient interfaces (e.g., graphical user interfaces, reportinginterfaces, text-based computer interfaces, client-facing web services,web servers that provide pages to web clients, etc.) for controlling,viewing, or otherwise interacting with HVAC system 100, its subsystems,and/or devices. Client device 368 can be a computer workstation, aclient terminal, a remote or local interface, or any other type of userinterface device. Client device 368 can be a stationary terminal or amobile device. For example, client device 368 can be a desktop computer,a computer server with a user interface, a laptop computer, a tablet, asmartphone, a PDA, or any other type of mobile or non-mobile device.Client device 368 can communicate with BMS controller 366 and/or AHUcontroller 330 via communications link 372.

Referring now to FIG. 4 , a block diagram of a building managementsystem (BMS) 400 is shown, according to an exemplary embodiment. BMS 400can be implemented in building 10 to automatically monitor and controlvarious building functions. BMS 400 is shown to include BMS controller366 and a plurality of building subsystems 428. Building subsystems 428are shown to include a building electrical subsystem 434, an informationcommunication technology (ICT) subsystem 436, a security subsystem 438,a HVAC subsystem 440, a lighting subsystem 442, a lift/escalatorssubsystem 432, and a fire safety subsystem 430. In various embodiments,building subsystems 428 can include fewer, additional, or alternativesubsystems. For example, building subsystems 428 can also oralternatively include a refrigeration subsystem, an advertising orsignage subsystem, a cooking subsystem, a vending subsystem, a printeror copy service subsystem, or any other type of building subsystem thatuses controllable equipment and/or sensors to monitor or controlbuilding 10. In some embodiments, building subsystems 428 includewaterside system 200 and/or airside system 300, as described withreference to FIGS. 2-3 .

Each of building subsystems 428 can include any number of devices,controllers, and connections for completing its individual functions andcontrol activities. HVAC subsystem 440 can include many of the samecomponents as HVAC system 100, as described with reference to FIGS. 1-3. For example, HVAC subsystem 440 can include a chiller, a boiler, anynumber of air handling units, economizers, field controllers,supervisory controllers, actuators, temperature sensors, and otherdevices for controlling the temperature, humidity, airflow, or othervariable conditions within building 10. Lighting subsystem 442 caninclude any number of light fixtures, ballasts, lighting sensors,dimmers, or other devices configured to controllably adjust the amountof light provided to a building space. Security subsystem 438 caninclude occupancy sensors, video surveillance cameras, digital videorecorders, video processing servers, intrusion detection devices, accesscontrol devices (e.g., card access, etc.) and servers, or othersecurity-related devices.

Still referring to FIG. 4 , BMS controller 366 is shown to include acommunications interface 407 and a BMS interface 409. Interface 407 canfacilitate communications between BMS controller 366 and externalapplications (e.g., monitoring and reporting applications 422,enterprise control applications 426, remote systems and applications444, applications residing on client devices 448, etc.) for allowinguser control, monitoring, and adjustment to BMS controller 366 and/orsubsystems 428. Interface 407 can also facilitate communications betweenBMS controller 366 and client devices 448. BMS interface 409 canfacilitate communications between BMS controller 366 and buildingsubsystems 428 (e.g., HVAC, lighting security, lifts, powerdistribution, business, etc.).

Interfaces 407, 409 can be or include wired or wireless communicationsinterfaces (e.g., jacks, antennas, transmitters, receivers,transceivers, wire terminals, etc.) for conducting data communicationswith building subsystems 428 or other external systems or devices. Invarious embodiments, communications via interfaces 407, 409 can bedirect (e.g., local wired or wireless communications) or via acommunications network 446 (e.g., a WAN, the Internet, a cellularnetwork, etc.). For example, interfaces 407, 409 can include an Ethernetcard and port for sending and receiving data via an Ethernet-basedcommunications link or network. In another example, interfaces 407, 409can include a Wi-Fi transceiver for communicating via a wirelesscommunications network. In another example, one or both of interfaces407, 409 can include cellular or mobile phone communicationstransceivers. In one embodiment, communications interface 407 is a powerline communications interface and BMS interface 409 is an Ethernetinterface. In other embodiments, both communications interface 407 andBMS interface 409 are Ethernet interfaces or are the same Ethernetinterface.

Still referring to FIG. 4 , BMS controller 366 is shown to include aprocessing circuit 404 including a processor 406 and memory 408.Processing circuit 404 can be communicably connected to BMS interface409 and/or communications interface 407 such that processing circuit 404and the various components thereof can send and receive data viainterfaces 407, 409. Processor 406 can be implemented as a generalpurpose processor, an application specific integrated circuit (ASIC),one or more field programmable gate arrays (FPGAs), a group ofprocessing components, or other suitable electronic processingcomponents.

Memory 408 (e.g., memory, memory unit, storage device, etc.) can includeone or more devices (e.g., RAM, ROM, Flash memory, hard disk storage,etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described in thepresent application. Memory 408 can be or include volatile memory ornon-volatile memory. Memory 408 can include database components, objectcode components, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present application. According to anexemplary embodiment, memory 408 is communicably connected to processor406 via processing circuit 404 and includes computer code for executing(e.g., by processing circuit 404 and/or processor 406) one or moreprocesses described herein.

In some embodiments, BMS controller 366 is implemented within a singlecomputer (e.g., one server, one housing, etc.). In various otherembodiments BMS controller 366 can be distributed across multipleservers or computers (e.g., that can exist in distributed locations).Further, while FIG. 4 shows applications 422 and 426 as existing outsideof BMS controller 366, in some embodiments, applications 422 and 426 canbe hosted within BMS controller 366 (e.g., within memory 408).

Still referring to FIG. 4 , memory 408 is shown to include an enterpriseintegration layer 410, an automated measurement and validation (AM&V)layer 412, a demand response (DR) layer 414, a fault detection anddiagnostics (FDD) layer 416, an integrated control layer 418, and abuilding subsystem integration later 420. Layers 410-420 can beconfigured to receive inputs from building subsystems 428 and other datasources, determine optimal control actions for building subsystems 428based on the inputs, generate control signals based on the optimalcontrol actions, and provide the generated control signals to buildingsubsystems 428. The following paragraphs describe some of the generalfunctions performed by each of layers 410-420 in BMS 400.

Enterprise integration layer 410 can be configured to serve clients orlocal applications with information and services to support a variety ofenterprise-level applications. For example, enterprise controlapplications 426 can be configured to provide subsystem-spanning controlto a graphical user interface (GUI) or to any number of enterprise-levelbusiness applications (e.g., accounting systems, user identificationsystems, etc.). Enterprise control applications 426 can also oralternatively be configured to provide configuration GUIs forconfiguring BMS controller 366. In yet other embodiments, enterprisecontrol applications 426 can work with layers 410-420 to optimizebuilding performance (e.g., efficiency, energy use, comfort, or safety)based on inputs received at interface 407 and/or BMS interface 409.

Building subsystem integration layer 420 can be configured to managecommunications between BMS controller 366 and building subsystems 428.For example, building subsystem integration layer 420 can receive sensordata and input signals from building subsystems 428 and provide outputdata and control signals to building subsystems 428. Building subsystemintegration layer 420 can also be configured to manage communicationsbetween building subsystems 428. Building subsystem integration layer420 translate communications (e.g., sensor data, input signals, outputsignals, etc.) across a plurality of multi-vendor/multi-protocolsystems.

Demand response layer 414 can be configured to optimize resource usage(e.g., electricity use, natural gas use, water use, etc.) and/or themonetary cost of such resource usage in response to satisfy the demandof building 10. The optimization can be based on time-of-use prices,curtailment signals, energy availability, or other data received fromutility providers, distributed energy generation systems 424, fromenergy storage 427 (e.g., hot TES 242, cold TES 244, etc.), or fromother sources. Demand response layer 414 can receive inputs from otherlayers of BMS controller 366 (e.g., building subsystem integration layer420, integrated control layer 418, etc.). The inputs received from otherlayers can include environmental or sensor inputs such as temperature,carbon dioxide levels, relative humidity levels, air quality sensoroutputs, occupancy sensor outputs, room schedules, and the like. Theinputs can also include inputs such as electrical use (e.g., expressedin kWh), thermal load measurements, pricing information, projectedpricing, smoothed pricing, curtailment signals from utilities, and thelike.

According to an exemplary embodiment, demand response layer 414 includescontrol logic for responding to the data and signals it receives. Theseresponses can include communicating with the control algorithms inintegrated control layer 418, changing control strategies, changingsetpoints, or activating/deactivating building equipment or subsystemsin a controlled manner. Demand response layer 414 can also includecontrol logic configured to determine when to utilize stored energy. Forexample, demand response layer 414 can determine to begin using energyfrom energy storage 427 just prior to the beginning of a peak use hour.

In some embodiments, demand response layer 414 includes a control moduleconfigured to actively initiate control actions (e.g., automaticallychanging setpoints) which minimize energy costs based on one or moreinputs representative of or based on demand (e.g., price, a curtailmentsignal, a demand level, etc.). In some embodiments, demand responselayer 414 uses equipment models to determine an optimal set of controlactions. The equipment models can include, for example, thermodynamicmodels describing the inputs, outputs, and/or functions performed byvarious sets of building equipment. Equipment models can representcollections of building equipment (e.g., subplants, chiller arrays,etc.) or individual devices (e.g., individual chillers, heaters, pumps,etc.).

Demand response layer 414 can further include or draw upon one or moredemand response policy definitions (e.g., databases, XML, files, etc.).The policy definitions can be edited or adjusted by a user (e.g., via agraphical user interface) so that the control actions initiated inresponse to demand inputs can be tailored for the user's application,desired comfort level, particular building equipment, or based on otherconcerns. For example, the demand response policy definitions canspecify which equipment can be turned on or off in response toparticular demand inputs, how long a system or piece of equipment shouldbe turned off, what setpoints can be changed, what the allowable setpoint adjustment range is, how long to hold a high demand set-pointbefore returning to a normally scheduled set-point, how close toapproach capacity limits, which equipment modes to utilize, the energytransfer rates (e.g., the maximum rate, an alarm rate, other rateboundary information, etc.) into and out of energy storage devices(e.g., thermal storage tanks, battery banks, etc.), and when to dispatchon-site generation of energy (e.g., via fuel cells, a motor generatorset, etc.).

Integrated control layer 418 can be configured to use the data input oroutput of building subsystem integration layer 420 and/or demandresponse later 414 to make control decisions. Due to the subsystemintegration provided by building subsystem integration layer 420,integrated control layer 418 can integrate control activities of thesubsystems 428 such that the subsystems 428 behave as a singleintegrated supersystem. In an exemplary embodiment, integrated controllayer 418 includes control logic that uses inputs and outputs from aplurality of building subsystems to provide greater comfort and energysavings relative to the comfort and energy savings that separatesubsystems could provide alone. For example, integrated control layer418 can be configured to use an input from a first subsystem to make anenergy-saving control decision for a second subsystem. Results of thesedecisions can be communicated back to building subsystem integrationlayer 420.

Integrated control layer 418 is shown to be logically below demandresponse layer 414. Integrated control layer 418 can be configured toenhance the effectiveness of demand response layer 414 by enablingbuilding subsystems 428 and their respective control loops to becontrolled in coordination with demand response layer 414. Thisconfiguration may advantageously reduce disruptive demand responsebehavior relative to conventional systems. For example, integratedcontrol layer 418 can be configured to assure that a demandresponse-driven upward adjustment to the set-point for chilled watertemperature (or another component that directly or indirectly affectstemperature) does not result in an increase in fan energy (or otherenergy used to cool a space) that would result in greater total buildingenergy use than was saved at the chiller.

Integrated control layer 418 can be configured to provide feedback todemand response layer 414 so that demand response layer 414 checks thatconstraints (e.g., temperature, lighting levels, etc.) are properlymaintained even while demanded load shedding is in progress. Theconstraints can also include set-point or sensed boundaries relating tosafety, equipment operating limits and performance, comfort, fire codes,electrical codes, energy codes, and the like. Integrated control layer418 is also logically below fault detection and diagnostics layer 416and automated measurement and validation layer 412. Integrated controllayer 418 can be configured to provide calculated inputs (e.g.,aggregations) to these higher levels based on outputs from more than onebuilding subsystem.

Automated measurement and validation (AM&V) layer 412 can be configuredto verify that control strategies commanded by integrated control layer418 or demand response layer 414 are working properly (e.g., using dataaggregated by AM&V layer 412, integrated control layer 418, buildingsubsystem integration layer 420, FDD layer 416, or otherwise). Thecalculations made by AM&V layer 412 can be based on building systemenergy models and/or equipment models for individual BMS devices orsubsystems. For example, AM&V layer 412 can compare a model-predictedoutput with an actual output from building subsystems 428 to determinean accuracy of the model.

Fault detection and diagnostics (FDD) layer 416 can be configured toprovide on-going fault detection for building subsystems 428, buildingsubsystem devices (i.e., building equipment), and control algorithmsused by demand response layer 414 and integrated control layer 418. FDDlayer 416 can receive data inputs from integrated control layer 418,directly from one or more building subsystems or devices, or fromanother data source. FDD layer 416 can automatically diagnose andrespond to detected faults. The responses to detected or diagnosedfaults can include providing an alert message to a user, a maintenancescheduling system, or a control algorithm configured to attempt torepair the fault or to work-around the fault.

FDD layer 416 can be configured to output a specific identification ofthe faulty component or cause of the fault (e.g., loose damper linkage)using detailed subsystem inputs available at building subsystemintegration layer 420. In other exemplary embodiments, FDD layer 416 isconfigured to provide “fault” events to integrated control layer 418which executes control strategies and policies in response to thereceived fault events. According to an exemplary embodiment, FDD layer416 (or a policy executed by an integrated control engine or businessrules engine) can shut-down systems or direct control activities aroundfaulty devices or systems to reduce energy waste, extend equipment life,or assure proper control response.

FDD layer 416 can be configured to store or access a variety ofdifferent system data stores (or data points for live data). FDD layer416 can use some content of the data stores to identify faults at theequipment level (e.g., specific chiller, specific AHU, specific terminalunit, etc.) and other content to identify faults at component orsubsystem levels. For example, building subsystems 428 can generatetemporal (i.e., time-series) data indicating the performance of BMS 400and the various components thereof. The data generated by buildingsubsystems 428 can include measured or calculated values that exhibitstatistical characteristics and provide information about how thecorresponding system or process (e.g., a temperature control process, aflow control process, etc.) is performing in terms of error from itsset-point. These processes can be examined by FDD layer 416 to exposewhen the system begins to degrade in performance and alert a user torepair the fault before it becomes more severe.

Smart Gateway

The BMS, as described above, operates over a network associated with theBMS. In some instances, other networks may be used in a BMS which arenot compatible with the BMS network. Generally, an interface device maybe used to provide some amount of interface between the BMS network andthe other networks. As described below, a smart gateway device caninterface between the BMS network and the other network to provideaccess to the other network by the BMS network, and vice versa. Thesmart gateway may create one or more virtualized devices associated withone or more devices on the other network. The virtualized devices withinthe smart gateway can be configured to appear as devices associated withthe BMS network such that a controller or other device on the BMS simplyinteracts with the virtual devices without requiring additionalprogramming or configurations.

Turning to FIG. 5 , an exemplary building management system (“BMS”) 500is shown having a BMS network 502 and a non-BMS network 504. The BMSnetwork 502 may serve multiple devices and/or systems. For example, theBMS network 502 may provide communication between one or more BMSdevices 506, a building automation system (“BAS”) 508 and/or connectedservices 510. In one embodiment, the BMS network 502 may be a BuildingAutomation Control Network (“BACnet”). The BMS network 502 may furtherbe a Master Slave Token Passing (MSTP) BACnet network, a BACnetIPnetwork, or a combination of the two. In further examples, the BMSnetwork 502 may be any other applicable network, such as a local areanetwork (LAN), a wireless local area network (WLAN), an EthernetIPnetwork, or any other applicable network for controlling a buildingmanagement system.

The BMS devices 506 may be any of the BMS devices described above,and/or any devices required within the BMS 500. Example devices mayinclude AHUs, VAVs, RTUs, controllers, actuators, chillers, sensors,security devices, etc. The BMS devices 506 are able to communicate withthe BMS network 502, and thereby the BAS 508 and/or connected services510. The BAS may be a central controller or operating system. Forexample, the BAS may be a Metasys Building Automation System fromJohnson Controls. In other examples, the BAS 508 is a Verasys BuildingAutomation System from Johnson Controls. However, other types ofbuilding automation systems are contemplated. The BAS 508 can provideintelligence, control, and monitoring across the BMS 500. The connectedservices 510 may include one or more cloud-based services that can beaccessed via the BMS network 502. Example connected services 510 mayinclude data analysis programs, cloud-based knowledgebases, or otherservices. In some embodiments, the connected services 510 may includeservices allowing for a user to remotely access and interface the BAS508 and/or the BMS 500.

The non-BMS network 504, may provide communication between one or morenon-BMS systems or devices. As used herein, the term “non-BMS” system ordevice is used to describe devices that do not natively communicate withthe BMS 500 via the BMS network 502. Non-BMS devices and/or systemstherefore require additional devices or software to interface with theBMS network. In one example, the non-BMS network 504 may providecommunications between an external network central controller 512, oneor more outdoor units 514, a first third party system sub-system 516,and a second third party sub-system 518. In one embodiment, the firstthird-party sub-system 516 and the second third-party sub-system 518 arerefrigeration systems. However, the first third-party sub-system 516 andthe second third-party sub-system 518 may be other types of sub-systems,such as chiller systems, HVAC system, AHU's, VAV's, security systems, orother system associated with a building management system. As shown inFIG. 5 , the first third-party sub-system 516 includes an outdoor unit520, and two indoor units 522, 524. The outdoor unit may be an outdoorrefrigeration unit. The indoor units 522, 524 may be indoorrefrigeration units, such as blowers, fan coils and/or air-conditioningunits. Similarly, the second third party system 518 may include anoutdoor unit 526 and one or more indoor units 528.

In some embodiments, the non-BMS network 504 may be a proprietarynetworks associated with the thirty-party devices and systems. Forexample, metering systems, refrigeration systems, fire safety and/orsuppression systems, and/or lighting systems may utilize proprietary orrestricted protocols to communicate between devices within the systems.In other examples, the non-BMS network 504 may be associated with acommonly used communication protocol that is distinct from that beingused for the BMS network 502. For example, the non-BMS network 504 mayutilize a KNX protocol, a Modbus protocol, a Controlbus protocol, a CANprotocol, or other applicable protocol.

The BMS 500 is further shown to include a smart gateway 530. The smartgateway 530 is configured to provide an interface between the BMSnetwork 502 and the non-BMS network 504. For example, the smart gateway530 may convert data transmitted over the non-BMS network 504 into acompatible network protocol, such as BACnet, for use with the BMSnetwork. The smart gateway 530 will be described in further detailbelow. In one embodiment, the smart gateway can read and write data toboth the BMS network 502 and the non-BMS network 504. In some examples,the smart gateway 500 may further have a wireless radio forcommunicating with one or more user devices, such as mobile device 532.In some embodiments, a user accesses the smart gateway 530 via a mobiledevice 532, allowing the user access to the non-BMS network 504 and/orthe BMS network 502. In one embodiment, the smart gateway 530communicates with the mobile device via Wi-Fi. However, in otherexamples, wireless protocols such as Bluetooth, LoRA, cellular (3G, 4G,LTE, CDMA), Wi-Max, NFC, Zigbee, or other applicable protocols may beused to communicate with the mobile device 532. In other examples, thesmart gateway 530 may communicate with the mobile device 532 using awired communication protocol, such as Universal Serial Bus (USB) 2.0 or3.0, RS-232, RS-485, Firewire, or other applicable wired communicationprotocols.

Turning now to FIG. 6 , a schematic view illustrating the smart gateway530 of FIG. 5 is shown, according to some embodiments. The smart gateway530 includes a BMS interface circuit 600 and an external networkinterface circuit 602. The BMS interface circuit includes a processingcircuit 604. The processing circuit 604 includes a processor 606 and amemory 608. The processor 606 may be a general purpose or specificpurpose processor, an application specific integrated circuit (ASIC),one or more field programmable gate arrays (FPGAs), a group ofprocessing components, or other suitable processing components. Theprocessor 606 may be configured to execute computer code or instructionsstored in the memory 608 or received from other computer readable media(e.g., CDROM, network storage, a remote server, etc.).

The memory 608 may include one or more devices (e.g., memory units,memory devices, storage devices, etc.) for storing data and/or computercode for completing and/or facilitating the various processes describedin the present disclosure. The memory 608 may include random accessmemory (RAM), read-only memory (ROM), hard drive storage, temporarystorage, non-volatile memory, flash memory, optical memory, or any othersuitable memory for storing software objects and/or computerinstructions. The memory 608 may include database components, objectcode components, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present disclosure. The memory 608 may becommunicably connected to the processor 606 via processing circuit 604and may include computer code for executing (e.g., by processor 606) oneor more processes described herein.

The memory 608 is shown to include a gateway executable module 610, avirtual network simulation module 612, and a webserver 614. The gatewayexecutable module 610 includes the software modules required foroperating the non-virtualized portion of the smart gateway 530. Thegateway executable module 610 will be described in more detail below.The virtual network simulation module 612 includes the software modulesrequired for operating the virtualized portion of the smart gateway 530,and will be described in more detail below.

The webserver 614 is configured to process and deliver web pages to auser. In one embodiment, the webserver 614 may be an HTTP webserver. Thewebserver 614 may be configured to deliver images, such as HTMLdocuments to a user via the mobile device 532. The webserver 614 maysupport server-side scripting, Active Server Pages, or other scriptinglanguages. The webserver 614 may further be configured to provideinformation or generate web-pages to devices in a local network. Forexample, the webserver 614 may be configured to provide web-pages todevices which are connected directly to the smart gateway 530, such asvia wireless radio 616. In some embodiments, the webserver 614 canprovide a web-portal for a user to access the smart gateway 530. In someembodiments, the user can access the smart gateway 530 via mobile device532 by accessing the web-portal (e.g. website) generated by thewebserver 614. In some embodiments, the web-portal provides basicinformation associated with the smart gateway 530, such as configurationdata, network data, status, errors, etc. In further embodiments, theweb-portal may allow the user to fully configure the smart gateway 530via the mobile device 532. For example, the user may be able to connectthe smart gateway 530 to both the BMS network 502 and the non-BMSnetwork 504 via the web-portal. In still further embodiments, the usermay be able to configure the one or more devices associated with thenon-BMS network 504 via the web-portal. This can allow a user to quicklyand easily configure the smart gateway 530 such to provide the interfacebetween the BMS network 502 and the non-BMS network 504.

In one embodiment, the BMS interface circuit 600 includes a wirelessradio. In one embodiment, the wireless radio 616 is a Wi-Fi radio. TheWi-Fi radio can be configured to utilize service set identifier (“SSID”)technology. SSID technology can be used such that only devices withspecific access to the SSID associated with the smart gateway 530 willbe allowed to access the data associated with the smart gateway 530 viathe webserver 614. In other embodiments, the wireless radio 616 can beconfigured to utilize other security layers to restrict access to thesmart gateway 530. For example, a user attempting to access the smartgateway 530 via the wireless radio 616 may be required to provide a username and password before being allowed access. In still furtherexamples, the user may be required to maintain an identity token on themobile device used to access the smart gateway 530 via the wirelessradio 616, such that the user is required to present the token to thesmart gateway 530 to obtain access. While the wireless radio 616 isdescribed above to relate to a Wi-Fi radio, the wireless radio 616 mayutilize other wireless communication protocols such as Wi-Max, Zigbee,LoRA, Bluetooth, NFC, cellular (3G, 4G, LTE, CDMA), RF, IR, or otherapplicable wireless communication protocols.

The BMS interface circuit 600 further includes a communication interface618. The communication interface 618 is configured to communicate with asecond communication interface 620 located on the external networkinterface circuit 602. In one embodiment, the communication interfaces618, 620 are serial communication interfaces, such as USB. In otherexamples, the communication interfaces 618, 620 may be other types ofserial interfaces such as RS-232, RS-485, or other applicable serialcommunication types. The BMS interface circuit 600 may further include aBMS network interface 622. The BMS network interface 622 can providecommunication to and from the BMS network 502. For example, the BMSnetwork interface 622 may be a BACnet interface. However, the BMSnetwork interface 622 is contemplated to be configured to interface withother types of BMS networks as well.

The external network interface circuit 602 can also include a processingcircuit 624. The processing circuit is in communication with thecommunication interface 620 for communicating with the BMS interfacecircuit 600. The processing circuit 624 includes a processor 626 and amemory 628. The processor 626 may be a general purpose or specificpurpose processor, an application specific integrated circuit (ASIC),one or more field programmable gate arrays (FPGAs), a group ofprocessing components, or other suitable processing components. Theprocessor 626 may be configured to execute computer code or instructionsstored in the memory 628 or received from other computer readable media(e.g., CDROM, network storage, a remote server, etc.). In someembodiments, processing circuits 604 and 624 can be the same processingcircuit.

The memory 628 may include one or more devices (e.g., memory units,memory devices, storage devices, etc.) for storing data and/or computercode for completing and/or facilitating the various processes describedin the present disclosure. The memory 628 may include random accessmemory (RAM), read-only memory (ROM), hard drive storage, temporarystorage, non-volatile memory, flash memory, optical memory, or any othersuitable memory for storing software objects and/or computerinstructions. The memory 628 may include database components, objectcode components, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present disclosure. The memory 628 may becommunicably connected to the processor 626 via processing circuit 624and may include computer code for executing (e.g., by processor 626) oneor more processes described herein.

The memory 628 may include a device data module 630. The device datamodule 630 may be used to store data related to devices associated withthe non-BMS network 504. Example data may include data points, deviceaddress, device names, device types, device status, data point values,etc. In one embodiment, the external network interface circuit 602 isconfigured to interface with the non-BMS network 504. The externalnetwork interface circuit 602 may interface with the non-BMS network 504via a non-BMS network communication interface 632. In some embodiments,the external network interface circuit 602 may further include a levelconverter 634. The level converter 634 may be required where the signallevels on the non-BMS network 504 are not compatible with the processingcircuit 624. In some embodiments, the level converter 634 is integral tothe non-BMS communication interface. In examples where the externalnetwork interface circuit 602 has a level converter 634, the levelconverter 634 provides communication between the processing circuit 624and the non-BMS communication interface 632. In other embodiments wherethe level converter 634 is not required, the processing circuit 624interacts directly with the non-BMS communication interface 632 toaccess the non-BMS network 504.

Turning now to FIG. 7 an interface diagram showing the interactionbetween the gateway executable module 610 and the virtual networksimulation module 612 of the BMS interface circuit is shown, accordingto some embodiments. As shown in FIG. 7 , the gateway executable module610 can include a data access component 700, a BMS application layer702, a network layer 704, an IP datalink layer 706 and a virtualdatalink layer 708. The virtual simulation module 612 is shown toinclude a first virtual device 710 and a second virtual device 712.While only two virtual devices 710, 712 are shown, it is contemplatedthat multiple virtual devices may be located within the virtualsimulation module 612. In one embodiment, the virtual simulation module612 may include up to two-hundred virtual devices. However, in otherembodiments, the virtual network simulation module 612 may include morethan two-hundred virtual devices or less than two-hundred virtualdevices. The virtual network simulation module 612 may further include aBMS application layer 714, a network layer 716, an external networkinterface circuit integration module 718, a communication driver 720,and a virtual datalink layer 722.

The data access component 700 of the gateway executable module 610 isconfigured to access data within the virtual devices 710, 712 in thevirtual network simulation module 612. In one embodiment, the dataaccess component 700 is configured to store one or more poll mappers,the poll mappers configured to poll the virtual devices 710, 712 toobtain the required data. The data access component 700 may further beconfigured to communicate the data from the virtual devices 710, 712 tothe BAS application layer 702. In one example, the data access component700 is a Multi-Touch Gateway UI Data Access Component. In otherembodiments, the data access component 700 is a Mobile Access Portal.However, other data access component types are contemplated as well. Insome embodiments, the data access component is configured to interfacewith the one or more virtual devices 710, 712.

The BMS application layer 702 may be configured to convert data receivedfrom the data access component 700 into data readable by the devicesassociated with the BMS network 502. The network layer 704 may convertthe data from the virtual devices 710, 712 into a format for use on theBMS network 502. Where the BMS network 502 is a BACnet network, thenetwork layer 704 may map the data from the virtual devices 710, 712into one or more device objects as BACnet readable data objects. TheBACnet data objects may then be configured such that they are readableand/or writable by devices associated with the BMS network 502. Further,the network layer 704 may be configured to map data received from theBMS network 502 into the one or more virtual devices 710, 712. The datamapped to the one or more virtual devices 710, 712 can then passed on tothe associated non-BMS devices.

The network layer 704 can modify the data stored in the one or morevirtual devices 710, 712 to be presented over a network. In oneembodiment, the network layer 704 modifies the data stored in thevirtual devices 710, 712 for transmission over a BMS network using aBACnet protocol. However, other network protocols other than BACnetprotocols are also contemplated. Similarly, the network layer 704 canconvert data received via a network into data that can be mapped to theone or more virtual devices 710, 712. The IP datalink layer 706 isconfigured to access an IP based network. For example, where the BMSnetwork 502 is BACnet IP, the IP datalink layer may package and transmitthe data modified by the network layer 704 over the BACnet IP network.In other examples, the IP datalink layer 706 may be used where the BMSnetwork 502 is any type of IP based network. The virtual datalink layer708 may be configured to receive and transmit data to the virtualnetwork simulation module 612. In one embodiment, the virtual datalinklayer 708 communicates with the virtual network simulation module 612via the virtual data link layer 722.

The virtual network simulation module 612 may communicate with thenon-BMS network 504 via the communication driver 720. In one embodiment,the communication driver is a USB driver for communicating with theexternal network interface circuit 602. In other examples, thecommunication driver 720 may be other types of serial data drivers, suchas RS-232, RS-485, etc. In some examples, the communication driver 720may be a proprietary serial communication driver such as an H-Linkcommunication driver from Hitachi. In some embodiments, thecommunication driver 720 can be in communication with the communicationinterface 618 for communicating with the communication interface 620 ofthe external network interface circuit 602. The communication driver 720is further in communication with the external network interface circuitintegration module 718. The external network interface circuitintegration module 718 is configured to translate the data from theexternal network interface circuit 602, for use in the virtual networksimulation module 612. For example, the external network interfacecircuit integration module 718 may be configured to parse the datareceived via the communication driver 720 into individual data points.The external network interface circuit integration module 718 may parsethe received data by data type, device type, device address, etc. Theexternal network interface circuit integration module 718 can thenprovide the parsed data to the virtual BMS application layer 714.

The virtual BMS application layer 714 may include a virtual networkmanager 726. In one embodiment, the virtual network manager 726 isresponsible for creation and management of virtual devices 710, 712, aswell as read and write operations to and from the virtual devices 710,712. The virtual network manager 726 may be configured to create avirtual network based on the data received from the external networkinterface circuit integration module 718. For example, if the externalnetwork interface circuit integration module 718 provides data frommultiple non-BMS devices or systems, the virtual network manager cancreate virtual devices associated with the received data. For example,the virtual devices 710, 712 may be created by the virtual networkmanager 726, as will be described in more detail below. The virtual BMSapplication layer 714 can further take the data provided by the externalnetwork interface circuit integration module 718 and, working with thevirtual network manager 726, modify the received data to be compatiblewith BMS network 502. For example, by populating the virtual devices710, 712 with data objects, the virtual devices 710, 712 can be read bythe network layer 704 as individual devices, similar to BMS devices onthe BMS network 502. An example virtual device is illustrated in FIG. 8, discussed in detail below.

In a further embodiment, the virtual BMS application layer 714 can beconfigured to map the received data into a virtual device table 728. Inone embodiment, the virtual device table 728 may be populated with datarelated to one or more of virtual devices 710, 712. In one embodiment,the virtual device table 728 may be configured to represent a list ofvirtual BACnet objects; however other data object types arecontemplated. In one embodiment, the virtual device table 728 ismodified for each virtual device 710, 712 created by the virtual networkmanager 726. The virtual device table 728 may further provide mappingbetween the virtual devices 710, 712 and the associated non-BMS devices.

In one embodiment, the virtual network layer 716 is configured to modifythe data stored in the one or more virtual devices 710, 712 to bepresented over a network. In one embodiment, the virtual network layer716 modifies the data stored in the virtual data objects fortransmission over a BMS network using a BACnet protocol. However, othernetwork protocols other than BACnet protocols are also contemplated. Thevirtual datalink layer 722 may be configured to receive and transmitdata to the gateway executable module 610. In one embodiment, thevirtual datalink layer 722 communicates with the gateway executablemodule 610 via the virtual data link layer 722.

Turning now to FIG. 8 a detailed view of a virtual device 800 is shown,according to some embodiments. The virtual device 800 may be similar tothe virtual devices 710, 712 described above The virtual device 800 isconfigured to represent a non-BMS device as a BMS device to the BMSnetwork. In one embodiment, the virtual device 800 is generated by thevirtual network manager 726 based on data received via the non-BMSnetwork 504 relating to non-BMS devices. The virtual device 800 includesa number of data points, the data points corresponding to actual datapoints on non-BMS devices or systems. In one embodiment, the virtualdevice 800 includes a device type data point 802. In some embodiments,the device type data point 802 may include basic data regarding the typeof device the virtual device 800 is representing. For example, thedevice type data point 802 may indicate that the virtual device 800represents an outdoor unit, an indoor unit, or a sub-system thereof. Inother embodiments, the device type data point 802 may indicate that thevirtual device 800 represents other HVAC or BMS devices. In furtherembodiments, the device type data point 802 indicates the exact type ofdevice being represented. For example, the virtual device 800 mayrepresent an outdoor refrigeration unit, an indoor refrigeration unit,an RTU, a VAV, a controller, or other applicable devices or systems.

The virtual device 800 may further include a number of data points. Thedata points may be binary output data points 804, binary input datapoints 806, analog output data points 808, analog input data points 810,multi-state outputs 812, and multi-state inputs 814. The above datapoints types are exemplary only, and it is contemplated that additionaldata points types may be associated with the virtual device. The binaryoutput data points 804 may include binary output data points such as afilter sign reset 816, a run-stop signal 818, and a prohibit RCoperation signal 820. The binary input data points 806 may include datapoints such as a run/stop input 822, a filter sign 824, a communicationstate 826, an alarm signal 828, and a prohibit operation input 830. Theanalog output data points 808 may include an indoor temperature setpointoutput 832. The analog input data points 810 may include an indoorintake temperature input 834 and an indoor temperature setpoint 836. Themulti-state output data points 812 may include an operation mode output838 and a fan speed output 840. The multi-state input data points 814may include data points such as an operation mode state input 842, analarm code 844, and a fan speed input 846. It should be understood thatthe above described data points are exemplary only, and that multipledata points are contemplated.

The virtual device 800 may further include a virtual device manager 848.The virtual device manager 848 is configured to interface with thevirtual network manager 726. The virtual device manager 848 can receivedata point values, device type information, device status information,and other information related to an associated non-BMS device via thevirtual network manager 726. In some embodiments, the virtual devicemanager 848 is configured to communicate values received via the dataaccess component 700 to the virtual network manager 726 via the virtualnetwork manager interface. The virtual network manager can then providethe new values to the associated non-BMS device. In a furtherembodiment, the virtual device manager 848 emulates multiple networkdevices based on devices listed the virtual device table 728. Forexample, a ‘Who-Is’ request shall be replied to with an ‘I Am’ frommultiple network devices with unique virtual MAC addresses. ‘Who-Is’ and‘I am’ commands are standard commands of a BACnet protocol. Further, thevirtual device manager 848 can emulate the devices listed in the virtualdevice table as BACnet/IP devices.

Turning now to FIG. 9 , a process 900 for interfacing with a non-BMSnetwork using the smart gateway 530 is shown, according to someembodiments. At process block 900, the external network interfacecircuit 602 is initialized. At process block 904, the external networkinterface circuit 602 communicates with the non-BMS network 504 todiscover all devices and/or subsystems on the non-BMS network 504. Inone example, the external network interface circuit 602 communicateswith the non-BMS network 504 via the non-BMS communication interface632. At process block 906, the data from the discovered devices isorganized into data structures by the external network interface circuit602. In one embodiment, the data structures may be stored in one or moredata tables, such as data structures 629, described above. In oneembodiment, the data tables are stored in the device data module 630.The data tables may be configured to store data structures for eachdiscovered non-BMS device. The data structures can be unique to eachdiscovered device. In some embodiments, the data structures may bepartially constructed by the processing circuit 624 of the externalnetwork interface circuit. For example, the data structures may bepartially constructed based on the detected device type. By receivingthe device type, a data structured can be constructed by the processingcircuit 624 to reflect the usual message content received from thedevice. In some embodiments, the device data may include metadataidentifying the current running state and any configuration settingsrequired by the non-BMS device. The data structures may be formatted toprovide for easier consumption by devices associated with the BMSnetwork 502, such as BAS 508 and/or BMS devices 506. For example, thedata structures may be formatted using standard device and point namesas used in the BMS network 502. Additional examples may include commonor standard graphics or other templates. This can reduce time requiredfor installation and configuration of devices and subsystems associatedwith the non-BMS network 504. Further, by formatting the data structuresto be compatible with the BMS network 502, non-intelligent devices(valves, actuators, etc.) can communicate with the BAS 508 via a commondata model. The common data model may include intelligence that allowsone or more controllers or other BMS devices 506 to recognize oridentify non-BMS devices or subsystems with minimal effort.

At process block 908, the discovered devices can be polled to obtainvalues for one or more data points associated with the discovereddevices. In one embodiment, the external network interface circuit 602performs the polling. In one embodiment, the polling may be conductedimmediately upon the data structures being set up at process block 906.In other embodiments, the polling may be conducted at regular intervalsto ensure that the device data is current. Once the discovered deviceshave been polled, the device data structures are updated at processblock 910. At process block 912, the external network interface circuit602 can schedule and parse the data to be sent to the BMS interfacecircuit.

Turning now to FIG. 10 , a process 1000 for generating one or morevirtual devices is shown, according to some embodiments. At processblock 1002, the virtual network manager 726 is notified that a devicehas been detected on the non-BMS network 504. In one embodiment, thenotification is performed by the external network interface circuit 602.In one example, the notification may be in the form of a data packetsent to the virtual network manager 726. In some embodiments, theindication may include an address and/or device type of the newlydiscovered device. Once the notification has been provided to thevirtual network manager 726, data associated with the new device can beprovided to the virtual network manager 726. In one embodiment, the datais provided by the external network interface circuit. The data maycontain a unique MAC address associated with the device. Further, thereceived data may include information related to the device type. Forexample, the information related to the device type may indicate whetherthe unit is an indoor unit or an outdoor unit. In other embodiments, theunique MAC address may be associated with the type of device. Forexample, the prefix or suffix of the MAC address may be associated withspecific device types.

At process block 1006, a the virtual network manager 726 determines ifthe device is currently listed in the virtual device table 728. In oneembodiment, the virtual network manager 726 determines if the receivedunique MAC address is currently listed in the virtual device table 728.However, in other embodiments, the virtual network manager 726 mayevaluate other criteria to determine if the device is listed in thevirtual device table 728. If the device is not currently listed in thevirtual device table 728, the virtual network manager 726 will generatea new virtual device at process block 1008. In one embodiment, thevirtual network manager 726 may generate the virtual device based on thetype of device associated with the device type. In other embodiments,the virtual network manager 726 may generate the virtual device based onthe unique MAC address of the device. In some examples, the virtualnetwork manager 726 may have access to a database having data pointsprovided by different data types. The virtual network manager 726 canthen utilize the database to generate virtual devices having the properdata points and/or other parameters. In some embodiments, the virtualnetwork manager 726 may initial set up the virtual device as an“offline” device. The virtual device may remain as an offline deviceuntil additional data is received.

At process block 1010, data value changes can be received by the virtualnetwork manager 726. In some embodiments, receiving data valuesassociated with the virtual device prompts the virtual network manager726 configure the virtual device to be “online.” In one embodiment, thevirtual network manager 726 passively waits to receive data valuesrelated to the virtual network device. In other embodiments, the virtualnetwork manager 726 may be configured to request updated data valuesassociated with the virtual device from the external network interfacecircuit 602. At process block 1014, the virtual device data objects maybe updated with the received data values.

Turning now to FIG. 11 , an illustration of an interface process 1100between the external network interface circuit 602 and the virtualnetwork manager 726 is shown, according to some embodiments. At processblock 1102, a new device is discovered as described above in FIG. 10 .The external network interface circuit 602 then transmits data packet1104 to the virtual network manager 726. In one embodiment, the datapacket 1104 includes a TYPE data message and an ADDRESS data message.However, other data messages are contemplated. The TYPE data message mayrefer to the device type. For example, the TYPE data message mayindicate whether the detected discovered device is an indoor unit or anoutdoor unit. In other examples, the TYPE data message may relate to aspecific device type, such as whether it is an air-conditioning unit, afan, a rooftop unit, or any other device located on the non-BMS network504. The ADDRESS data message may be an address associated with thediscovered device. In one embodiment, the ADDRESS data message is aunique MAC address supplied by the external network interface circuit602. The virtual network manager 726 may then receive the data packet1104 and create a virtual device at process block 1106. In oneembodiment, the virtual network manager 726 creates the virtual deviceas described above in regards to FIG. 10 .

At process block 1108 a device value change associated with one or morenon-BMS devices is detected by the external network interface circuit602. The external network interface circuit 602 then transmits datapacket 1110 to the virtual network manager 726. In one embodiment, thedata packet 1110 includes a DEVICE DATA data message and an ADDRESS datamessage. In one embodiment, the DEVICE DATA data message is a structurecontaining all of the data whose values are determined by the externalnetwork interface circuit 602. Accordingly, the DEVICE DATA data messagemay vary depending on the device type it is associated with. The ADDRESSdata message may be an address associated with the discovered device. Inone embodiment, the ADDRESS data message is a unique MAC addresssupplied by the external network interface circuit 602. The virtualnetwork manager 726 may then receive the data packet 1110 and update thevirtual device at process block 1112. In some embodiments, the virtualnetwork manager 726 may also indicate modify the virtual device toindicate that it is “Online” after receiving updated data if the virtualdevice was previously indicated as “Offline.”

At process block 1114, a device status update is detected by theexternal network interface circuit 602. The external network interfacecircuit 602 then transmits data packet 1116 to the virtual networkmanager 726. In one embodiment, the data packet 1116 includes an ADDRESSdata message, and OFFLINE data message and an ERROR data message. TheADDRESS data message may be an address associated with the device havinga status update. In one embodiment, the ADDRESS data message is a uniqueMAC address supplied by the external network interface circuit 602. TheOFFLINE data message may be a binary signal indicating that the devicehas gone offline. In other embodiments, the OFFLINE data message may beany other type of signal indicating that the device has gone offline.The ERROR data message may indicate an error on the device. In someembodiments, the ERROR data message is an enumeration of possible errorconditions for the non-BMS device. The virtual network manager 726 maythen receive the data packet 1110 and update the virtual device atprocess block 1118. In some embodiments, the virtual network manager 726may also indicate modify the virtual device to indicate that it is“Offline.” In further examples, the virtual network manager may generatea flag to indicate that an error has occurred.

At process block 1120, the virtual network manager 726 initiates avirtual device value change request. The value change request mayindicate a desired modification to a parameter of one or more BMSdevices. For example, the virtual network manager 726 may receive arequest to change a value of a virtual device via the BMS network 502,such as via the BAS 508. Once the virtual device value change requesthas been initiated at process block 1120, the virtual network manager726 then transmits a data packet 1122 to the external network interfacecircuit 602. In one embodiment, the data packet 1122 includes an ADDRESSdata message and a DEVICE DATA data message. The ADDRESS data messagemay be an address associated with the virtual device that the virtualnetwork manager 726 requires the value to change. In one embodiment, theADDRESS data message is a unique MAC address supplied by the externalnetwork interface circuit 602. In one embodiment, the DEVICE DATA datamessage is a structure containing all of the data whose values are to bemodified by the external network interface circuit 602. The externalnetwork interface circuit 602 may then receive the data packet 1122 andupdate the non-BMS device at process block 1124.

Turning now to FIG. 12 , a process 1200 for exposing virtual devices toa BMS network is shown, according to some embodiments. At process block1202, the gateway executable module 610 detects that one or more newvirtual devices have been added. In one embodiment, the gatewayexecutable module 610 may determine that a new virtual device has beenadded by monitoring an active node table. In one embodiment, the activenode table may be stored within the memory 608 of the BMS interfacecircuit 600. The active node table may change as new virtual devices areadded to the virtual network via the virtual network manager 726. Insome embodiments, the virtual network manager 726 is configured toupdate the active node table when a new device is added. In otherembodiments, the virtual network manager 726 may provide a signalgateway executable module when a new virtual device is added to thevirtual device list 728.

At process block 1204, discovery of the remaining data points arescheduled. In one embodiment, the BMS Application Layer 714 schedulesthe discovery of the remaining data points. The remaining data pointsmay be those data points within the virtual devices 710, 712 that haveyet to be received from the field devices associated with the virtualdevices. At process block 1206, the network layer 704 may read the newvirtual devices 710, 712. The network layer 704 may receive a signalindicating that the virtual devices 710, 712 have been created or thatvalues associated with the virtual devices 710, 712 have changed.Finally, at process block 1208 the virtual devices 710, 712 are exposedto the BMS network 502 by the network layer 704. Exposing the virtualdevices 710, 712 to the BMS network 502 allows for devices or serviceson the BMS network 502 to see the virtual devices 710, 712 as fielddevices associated with the BMS network 502. In some embodiments, thevirtual devices 710, 712 are configured to appear as standard BMSdevices to the BMS network 502. For example, the virtual devices 710,712 may appear to be BMS devices having one or more BACnet objectsassociated with them.

Turning now to FIG. 13 , a screenshot illustrating an exemplarydashboard 1300 of a building automation system is shown, according tosome embodiments. For example, the dashboard may be a dashboardassociated with a building automation system, such as Metasys fromJohnson Controls. In one embodiment, the dashboard 1300 may include anon-BMS units and spaces section 1302, and a non-BMS data section 1304.The non-BMS units and spaces section 1302 contains one or more non-BMSdevices and the associated spaces that they service. In one embodiment,the building automation system can obtain this information from thesmart gateway 520. The smart gateway 520, using the methods describedabove, may present the non-BMS devices to the building automation systemsuch that they building automation system sees the non-BMS devices thesame as it would see any other BMS device on the BMS network. Similarly,the non-BMS data section 1304 may contain data related to the one ormore listed non-BMS devices. Again, this data is provided via the smartgateway 520 to the building automation system such that the buildingautomation system sees the non-BMS device data the same as it would seeBMS device data provided by BMS devices on the BMS network. Accordingly,the smart gateway provides a user with seamless interaction with non-BMSdevices.

Configuration of Exemplary Embodiments

The construction and arrangement of the systems and methods as shown inthe various exemplary embodiments are illustrative only. Although only afew embodiments have been described in detail in this disclosure, manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.). For example, the position of elements may bereversed or otherwise varied and the nature or number of discreteelements or positions may be altered or varied. Accordingly, all suchmodifications are intended to be included within the scope of thepresent disclosure. The order or sequence of any process or method stepsmay be varied or re-sequenced according to alternative embodiments.Other substitutions, modifications, changes, and omissions may be madein the design, operating conditions and arrangement of the exemplaryembodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and programproducts on any machine-readable media for accomplishing variousoperations. The embodiments of the present disclosure may be implementedusing existing computer processors, or by a special purpose computerprocessor for an appropriate system, incorporated for this or anotherpurpose, or by a hardwired system. Embodiments within the scope of thepresent disclosure include program products comprising machine-readablemedia for carrying or having machine-executable instructions or datastructures stored thereon. Such machine-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer or other machine with a processor. By way of example,such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROMor other optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to carry or storedesired program code in the form of machine-executable instructions ordata structures and which can be accessed by a general purpose orspecial purpose computer or other machine with a processor. Combinationsof the above are also included within the scope of machine-readablemedia. Machine-executable instructions include, for example,instructions and data which cause a general purpose computer, specialpurpose computer, or special purpose processing machines to perform acertain function or group of functions.

Although the figures show a specific order of method steps, the order ofthe steps may differ from what is depicted. Also two or more steps maybe performed concurrently or with partial concurrence. Such variationwill depend on the software and hardware systems chosen and on designerchoice. All such variations are within the scope of the disclosure.Likewise, software implementations could be accomplished with standardprogramming techniques with rule based logic and other logic toaccomplish the various connection steps, processing steps, comparisonsteps and decision steps.

What is claimed is:
 1. A device in communication with a first networkassociated with a building management system (BMS), the devicecomprising: one or more processing circuits configured to: receive a newvirtual device corresponding to a physical device; provide a mappingbetween the new virtual device and the physical device, one or more datapoints of the new virtual device corresponding to one or more datapoints of the physical device; receive data values for the one or moredata points of the physical device; and update the one or more datapoints of the new virtual device with the data values for the one ormore data points of the physical device, the new virtual deviceconfigured to represent the physical device on the first network.
 2. Thedevice of claim 1, wherein: the data values for the one or more datapoints of the physical device are received via a second network on whichthe physical device is located; and the one or more processing circuitsare configured to transmit the data values for the one or more datapoints of the physical device via the first network as data values forthe one or more data points of the new virtual device.
 3. The device ofclaim 1, wherein: the data values for the one or more data points of thephysical device are received via the first network as data values forthe one or more data points of the new virtual device; and the one ormore processing circuits are configured to transmit the data values forthe one or more data points of the physical device via a second networkon which the physical device is located as data values for the one ormore data points of the physical device.
 4. The device of claim 1,wherein the one or more processing circuits are configured to poll thephysical device to receive data comprising a device identifier from thephysical device, wherein the new virtual device being generated by abuilding automation and control network gateway.
 5. The device of claim1, wherein the physical device is on a second network and the one ormore processing circuits are configured to provide communication betweenthe first network and the second network via the new virtual device. 6.The device of claim 1, wherein the one or more processing circuits areconfigured update a status of the new virtual device on the firstnetwork responsive to at least one of: receiving updated data values forthe one or more data points of the physical device via a second networkon which the physical device is located; or receiving a device statusupdate for the physical device via the second network.
 7. The device ofclaim 1, wherein the first network comprises a BACnet network and thephysical device is located on a second network comprising a non-BACnetnetwork.
 8. A method for providing virtual devices on a first networkassociated with a building management system (BMS), the methodcomprising: discovering a physical device; generating a new virtualdevice by a building automation and control network device responsive toa determination that a device identifier of the physical device does notmatch any device identifiers in a virtual device registry, the virtualdevice registry providing mapping between the new virtual device and thephysical device, one or more data points of the new virtual devicecorresponding to one or more data points of the physical device;receiving data values for the one or more data points of the physicaldevice using a remote device; and updating using the remote device theone or more data points of the new virtual device with the data valuesfor the one or more data points of the physical device, the virtualdevice configured to represent the physical device on the first network.9. The method of claim 8, wherein the data values for the one or moredata points of the physical device are received via a second network onwhich the physical device is located; the method comprising transmittingthe data values for the one or more data points of the physical devicevia the first network as data values for the one or more data points ofthe new virtual device.
 10. The method of claim 8, wherein the datavalues for the one or more data points of the physical device arereceived via the first network as data values for the one or more datapoints of the new virtual device; the method comprising transmitting thedata values for the one or more data points of the physical device via asecond network on which the physical device is located as data valuesfor the one or more data points of the physical device.
 11. The methodof claim 8, comprising polling the physical device to receive datacomprising the device identifier from the physical device.
 12. Themethod of claim 8, wherein the physical device is on a second networkand the method comprises providing communication between the firstnetwork and the second network via the new virtual device.
 13. Themethod of claim 8, comprising updating a status of the new virtualdevice on the first network responsive to at least one of: receivingupdated data values for the one or more data points of the physicaldevice via a second network on which the physical device is located; orreceiving a device status update for the physical device via the secondnetwork.
 14. The method claim 8, wherein the first network comprises aBACnet network and the physical device is located on a second networkcomprising a non-BACnet network.
 15. One or more non-transitorycomputer-readable storage media having instructions stored thereon that,when executed by one or more processors, cause the one or moreprocessors to perform operations comprising: receiving a new virtualdevice associated with a physical device on a first network associatedwith a building management system (BMS); using a virtual device registryto provide mapping between the new virtual device and the physicaldevice, one or more data points of the new virtual device correspondingto one or more data points of the physical device; receiving data valuesfor the one or more data points of the physical device; and updating theone or more data points of the new virtual device with the data valuesfor the one or more data points of the physical device, the virtualdevice configured to represent the physical device on the first network.16. The non-transitory computer-readable storage media of claim 15,wherein the data values for the one or more data points of the physicaldevice are received via a second network on which the physical device islocated; the operations comprising transmitting the data values for theone or more data points of the physical device via the first network asdata values for the one or more data points of the new virtual device.17. The non-transitory computer-readable storage media of claim 15,wherein the data values for the one or more data points of the physicaldevice are received via the first network as data values for the one ormore data points of the new virtual device; the operations comprisingtransmitting the data values for the one or more data points of thephysical device via a second network on which the physical device islocated as data values for the one or more data points of the physicaldevice.
 18. The non-transitory computer-readable storage media of claim15, the operations comprising polling the physical device to receivedata comprising the device identifier from the physical device.
 19. Thenon-transitory computer-readable storage media of claim 15, wherein thephysical device is on a second network and the operations compriseproviding communication between the first network and the second networkvia the new virtual device.
 20. The non-transitory computer-readablestorage media of claim 15, the operations comprising updating a statusof the new virtual device on the first network responsive to at leastone of: receiving updated data values for the one or more data points ofthe physical device via a second network on which the physical device islocated; or receiving a device status update for the physical device viathe second network.